unit ScriptEngineI;

interface
uses CoreI, lua, soundSystemI, VectorGeometry;
const
ScriptEngineGUID:TGUID='{833736C5-C0EE-42A9-92D3-56DF89D6D01A}';
LuaGUID:TGUID = '{6861AA28-E16F-44E1-A3EF-88B07E34152B}';
Type IScriptEngine=^_ScriptEngine;
_ScriptEngine=packed record
ExecString:procedure(const str,Where:PChar); cdecl;
ExecResource:procedure(const name:PChar); cdecl;
end;
type ILua=^_lua;
_lua = packed record
GetState:Function:lua_state; cdecl;
LuaToVector3F:Function(l:Lua_State; i:integer):TVector3F; cdecl;
LuaToSoundHandle:function(l:Lua_State; index:integer):SoundHandle; cdecl;
LuaPushSoundHandle:Procedure(l:Lua_State; handle:SoundHandle); cdecl;
LuaPushVector3F:procedure(l:lua_state; v:TVector3F); cdecl;
end;

const
SE_Event_ExecString=1;
type PSE_ExecStringStruct=^TSE_ExecSringStruct;
TSE_ExecSringStruct=packed record
                                chunk:PChar;
where:PChar;
ErrorHandler:TCore_ErrorHandler;
end;
type TScriptReference=integer;

                                      implementation

end.
